Usando Medição de Código Fonte para Refactoring
نویسندگان
چکیده
.................................................................................................................... x 1. INTRODUÇÃO............................................................................................................ 1 2. REVISÃO BIBLIOGRÁFICA ..................................................................................... 2 2.1. DEFININDO REFACTORINGS........................................................................... 2 2.2. CLASSIFICANDO REFACTORINGS ................................................................. 2 2.2.1. Classificando refactorings por objetivos........................................................ 3 2.2.2. Classificando refactorings por nível de abstração ....................................... 10 2.3. USANDO REFACTORINGS .............................................................................. 11 2.3.1. Quando usar refactoring............................................................................... 12 2.3.2. Ferramentas disponíveis para o uso de refactoring...................................... 13 2.4. DETECTANDO OPORTUNIDADES DE REFACTORING............................. 13 2.4.1. Análise Estática de programas ..................................................................... 14 2.4.2. Alternativas para a detecção de refactoring ................................................. 15 2.4.2.1. Detecção baseada em análise cognitiva................................................ 16 2.4.2.2. Detecção baseada em UML.................................................................. 16 2.4.2.3. Detecção baseada em meta-programação declarativa .......................... 17 2.4.2.4. Detecção baseada em invariantes ......................................................... 17 2.4.2.5. Detecção baseada em métricas ............................................................. 18 2.5. CONCEITOS BÁSICOS DE MEDIÇÃO .......................................................... 18 2.5.1. Mensuração e métricas em engenharia de software ..................................... 19 2.5.2. O Paradigma Meta Pergunta Métrica ........................................................... 20 2.5.3. Algumas das principais métricas difundidas na literatura............................ 21 3. METODOLOGIA PROPOSTA ................................................................................. 23 3.1. RELACIONANDO MÉTRICAS E REFACTORING NA ABORDAGEM TOP DOWN ........................................................................................................................ 23 3.2. RELACIONANDO MÉTRICAS E REFACTORING NA ABORDAGEM BOTTOM UP .............................................................................................................. 24 3.2.1. Matriz de Refactorings ................................................................................. 25 3.3. COMPARANDO AS ABORDAGENS TOP DOWN E BOTTOM UP ............. 26 3.3.1. Análise da eficiência das abordagens........................................................... 28 3.4. METODOLOGIA RESULTANTE DAS DUAS ABORDAGENS................... 29 3.4.1. Abordagens Similares................................................................................... 30 4. ESTUDO DE CASO .................................................................................................. 32 4.1. ESTUDO DE CASO USANDO A ABORDAGEM TOP DOWN ..................... 32 4.1.1. Descrição do estudo...................................................................................... 32 4.1.2. Resultados .................................................................................................... 33 4.1.2.1. Código Duplicado................................................................................. 33 4.1.2.2. Método Longo ...................................................................................... 35 4.1.2.3. Classe Longa ........................................................................................ 37 4.1.2.4. Lista Longa de Parâmetros ................................................................... 39 4.1.2.5. Mudanças Divergentes ......................................................................... 41
منابع مشابه
Uma Proposta de Evolução em Sistemas Legados
Resumo O processo de evolução de sistemas legados é um tópico de recentes pesquisas na área de engenharia de requisitos. Organizações vêm se defrontando continuamente com a necessidade de mudar e/ou melhorar seus sistemas computacionais. Neste processo de evolução, as maiores mudanças envolvem a transição do uso de metodologias tradicionais tais como Análise Estruturada e Essencial para metodol...
متن کاملDesenvolvimento de SIG para Web utilizando MDA
No desenvolvimento de Sistemas de Informação Geográfica (SIG), ferramentas como servidores de mapas são utilizadas para dar suporte à busca, recuperação e visualização de mapas. Uma ferramenta de código-aberto muito utilizada é o MapServer, um ambiente de desenvolvimento de SIG para Web desenvolvido pela Universidade de Minnesota [Carvalho, 2004]. Para utilizar o MapServer é necessário que o de...
متن کاملApplying Search-Based Techniques for Requirements- Based Test Case Prioritization
Although software test is very important, there may be situations in which there is no time to execute all test cases. It is important to order the test cases so that the most important ones come first. Most of the works about search-based test case prioritization have used unit tests techniques, and we have to know the code in advance. This work considers requirement-based metrics to prioritiz...
متن کاملMedição de pontos de Função a Partor da Especificação de Requisitos
Neste trabalho apresentaremos uma proposta para medição de Pontos por Função a partir da especificação de requisitos expressa em casos de uso, notação UML (Unified Modeling Language). Com esta medição torna-se disponível uma métrica confiável na fase de especificação de requisitos do processo de desenvolvimento de software. Esta proposta visa enfatizar a importância da especificação de requisit...
متن کاملInactivation of Escherichia coli in Water by TiO2-assisted Disinfection using Solar Light
Estudou-se a desinfecção de águas de abastecimento por fotocatálise heterogênea usando um reator de fluxo em um sistema composto por uma placa de vidro com TiO 2 P 25 (Degussa) imobilizado e luz solar como fonte de radiação. Foram utilizados dois modos de operação do reator: passagem única e recirculação. Os experimentos foram conduzidos utilizando inicialmente uma água preparada em laboratório...
متن کامل